1. Technical Field
The present invention relates generally to an improved data processing system, and in particular, to a method and apparatus for synchronizing data. Still more particularly, the present invention provides a method and apparatus for representing deleted data in a synchronizable database.
2. Description of Related Art
Portable devices, such as personal digital assistants (PDAs) and laptop computers, have become more and more pervasive in everyday use. As microprocessors have become more powerful and storage has become smaller in physical size, PDAs have become more and more popular. A PDA is a handheld computer that serves as an organizer for personal information. A PDA generally includes at least a name and address database, to-do list and note taker. PDAs are pen based and use a stylus to enter selections on menus and to enter printed characters. A PDA also may include a small on-screen keyboard, which is tapped with the pen.
Data may be synchronized between the PDA and desktop computer through a communications link, such as a cable or a wireless link. The databases on these types of devices are also referred to as embedded databases. An embedded database is a database program used on an embedded device, such as a PDA, a cell phone, or some other similar dedicated device. This type of database may be developed from scratch or may be a slimmed down version of a database management system. These embedded devices have limited amounts of memory. The databases are typically synchronized with other devices, such as a desktop data processing system or a server. In synchronizing a database, the synchronization process requires keeping track of deleted records on the database located on the embedded device between synchronizations.
Currently, one approach involves maintaining a log of all deleted record log identifiers along with the change identifier associated with the deletion. One disadvantage of this approach is that a log is required to be created and maintained. This log takes up additional valuable memory space in the device. Further, these logs are typically of fixed size and suffer from overflow and wraparound problems. Deletions also take two actions, the actual deletion of a record from the database and the creation of an entry in the log. These logs also do not allow for an undelete capability in addition to consuming additional memory.
Another approach currently used involves adding a “deleted flag” field to each record in the database to track deleted records. One disadvantage of this approach is that an additional field must be maintained by the database engine, requiring additional memory. Different database engines use different amounts of space for fields within the database. As a result, the amount of space consumed may vary.
Therefore, it would be advantageous to have an improved method, apparatus, and computer instructions for tracking deleted records for use in synchronizing a database while minimizing the amount of memory consumed.